package com.tenglong.teacher.data.requestInfo;


import java.io.Serializable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import cn.hzw.doodle.core.IDoodleItem;

/**
 * @author hdx on 2019/3/22.
 */
public class HomeworkCorrectInfo implements Serializable {

    public int position;
    /**
     * 服务器返回图片名称
     */
    public String filename;

    /**
     * sessionId
     */
    public String sessionId;

    /**
     * 错误数目
     */
    public int errorNum = 0;

    /**
     * 错误列表
     */
    public Map<IDoodleItem, List<String>> errors = new LinkedHashMap<>();

    /**
     * 学生AccId
     */
    public String studentAccId;

    /**
     * ==0，不发回改错;==1,发回改错.
     */
    public String type;

    /**
     * IM消息id
     */
    public String imMsgId;

    /**
     * 当前加载的图片链接
     */
    public String currentUrl;

    /**
     * 服务器返回的压缩后图片链接
     */
    public String compressUrl;

    /**
     * 服务器返回的原始图片链接
     */
    public String originalUrl;

    /**
     * 涂鸦之后图片链接(本地)
     */
    public String scrawlPath;

    /**
     * 此涂鸦是否上传到服务器
     */
    public boolean isUpload = false;

    /**
     * 是否是原图
     */
    public boolean isOriginalImage = false;


    public int getErrorNum() {
        return errorNum += 1;
    }

    public void setErrors(IDoodleItem iDoodleItem, List<String> selectTags) {
        errorNum += 1;
        errors.put(iDoodleItem, selectTags);
    }

    public String handleType() {
        return errors.size() == 0 ? "0" : "1";
    }


    public Integer getKey(List<String> selectTags) {
        Set set = errors.entrySet();
        Iterator it = set.iterator();
        while (it.hasNext()) {
            Map.Entry entry = (Map.Entry) it.next();
            if (entry.getValue().equals(selectTags)) {
                return (Integer) entry.getKey();
            }
        }
        return -1;
    }
}
